package dominio;

import java.util.ArrayList;
import java.util.Iterator;

public class ListaSobreReserva {
	
	private Asiento asientoSobreReservado = new Asiento();
	private ArrayList<String> listaDeReservadores = new ArrayList<String>();
	
	// las listas de sobre-reserva son arraylists de objetos con dos atributos Asiento y listaDeReservadores
	// (que son los DNI de los que sobre-reservaron los asientos), siendo ademas listaDereservadores un
	// arraylist de strings con los DNI.

	
	public ListaSobreReserva (Asiento reservaAsiento, String dniPersonaReserva){
		// carga el asiento y el primer DNI 
		this.setAsiento(reservaAsiento);
		this.agregarPersonaEnSobreReserva(dniPersonaReserva);
	}
	
	
	public ListaSobreReserva (Asiento reservaAsiento){
		// carga solo el asiento
		this.setAsiento(reservaAsiento);
	}

	public boolean dNIEstaRepetido(String dni){
		// busca entre los DNI que se encuentran en el atributo listaDeReservadores y
		// verifica que no se repitan con el DNI que se pasa por parametro
		for (Iterator<String> iterator = listaDeReservadores.iterator(); iterator.hasNext();) {
			String dniAComparar = (String) iterator.next();
			if (dniAComparar.equals(dni)) {
				return true;
			}
		}
		
		return false;
		
	}
	
	
	// GETers y SETers --------------------------------------------------------------------------------------------------------- 
	public void agregarPersonaEnSobreReserva(String dniPersonaReserva) {
		listaDeReservadores.add(dniPersonaReserva);
		
	}

	public void setAsiento(Asiento reservaAsiento) {
		this.asientoSobreReservado = reservaAsiento;
		
	}

	public Asiento getAsiento() {
		return asientoSobreReservado;
	}


	public String devolverPrimerSobreReserva() {		
		return listaDeReservadores.get(0);
	}


	public void removerLaPrimerSobreReserva() {
		listaDeReservadores.remove(0);
	}


	public ArrayList<String> getListaDeDNI() {
		return this.listaDeReservadores;
	}
	
	
}
